<template>
  <!--就餐信息-->
  <view class="main_section">

    <view class="title_section">
      <view class="title">就餐信息</view>
    </view>

    <view class="section_1">
      <view class="btn_section" v-if="!biningList.length">
        暂无更多...
      </view>

      <view class="ul" v-else>
        <view class="li" v-for="(v,k) in biningList" :key="k">
          <view class="time">{{v.date}} {{v.start_time}} ~ {{v.end_time}}</view>
          <view class="box">
            <view>位置</view>
            <view>{{v.address || ''}}</view>
          </view>
        </view>
<!--        <view class="li">-->
<!--          <view class="time">2025-07-11 18:00 ~ 20:30</view>-->
<!--          <view class="box">-->
<!--            <view>位置</view>-->
<!--            <view>xxxx酒店第2层</view>-->
<!--          </view>-->
<!--        </view>-->
<!--        <view class="li">-->
<!--          <view class="time">2025-07-11 18:00 ~ 20:30</view>-->
<!--          <view class="box">-->
<!--            <view>位置</view>-->
<!--            <view>xxxx酒店第2层</view>-->
<!--          </view>-->
<!--        </view>-->
<!--        <view class="li">-->
<!--          <view class="time">2025-07-11 18:00 ~ 20:30</view>-->
<!--          <view class="box">-->
<!--            <view>位置</view>-->
<!--            <view>xxxx酒店第2层</view>-->
<!--          </view>-->
<!--        </view>-->
      </view>
    </view>

  </view>
</template>

<script>
import apiRoute from '@/api/apiRoute.js';

export default {
  data() {
    return {
      meetingSubjectId:'',//会议主题id

      biningList:[],//就餐信息列表
    }
  },
  onLoad(options) {
    if (options.meetingSubjectId) {
      this.meetingSubjectId = options.meetingSubjectId
    }
  },
  onShow() {
    this.init()
  },
  methods: {
    async init() {
      await this.getBiningList()
    },

    //获取就餐信息列表
    async getBiningList(){
      let params = {
        meeting_subject_id:this.meetingSubjectId
      }
      let res = await apiRoute.getBiningList(params)
      if (res.code != 1) {
        uni.showToast({
          title: res.msg,
          icon: 'none'
        })
        return
      }

      this.biningList = res.data
      console.log(123123,this.biningList)
    },

    /**
     * 打开文件
     * @param file_url = https://example.com/somefile.pdf
     */
    openFile(file_url) {
      //判断file_url是图片还是文件(pdf,word)

      // 获取文件名称或路径中的最后一个点号位置
      const lastDotIndex = file_url.lastIndexOf('.');

      // 如果没有找到点号或者点号在开头，说明不是有效文件类型
      if (lastDotIndex === -1 || lastDotIndex === 0) {
        uni.showToast({title: '无效的文件格式'});
        return;
      }

      // 提取文件扩展名并转为小写
      const fileType = file_url.slice(lastDotIndex + 1).toLowerCase();

      // 定义支持的图片类型
      const imageTypes = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];

      // 判断是否为图片
      if (imageTypes.includes(fileType)) {
        // 是图片，打开预览
        uni.previewImage({
          urls: [file_url], // 预览图链接列表
          current: file_url // 当前显示的图片链接
        })
      } else {
        uni.downloadFile({
          url: file_url,
          success: function (res) {
            var filePath = res.tempFilePath;
            uni.openDocument({
              filePath: filePath,
              showMenu: true,//右上角是否有可以转发分享的功能
              success: function (res) {
                console.log('打开文档成功');
              }
            });
          }
        });
      }

    },


  }
}
</script>

<style lang="less" scoped>
.main_section{
  padding: 20rpx;
  padding-bottom: 40rpx;

  .title_section{
    .title{
      font-size: 40rpx;
      color: #2a82e4;
    }
  }

  .section_1{
    .btn_section{
      margin-top: 30rpx;
      text-align: center;
      font-size: 35rpx;
    }
    .ul{
      margin-top: 30rpx;

      display: flex;
      flex-direction: column;
      gap: 20rpx;
      .li{
        padding: 20rpx;
        border: 1px solid #cccccc;
        border-radius: 10rpx;
        display: flex;
        flex-direction: column;
        font-size: 28rpx;
        gap: 15rpx;
        .time{
          //文字溢出隐藏
          white-space:nowrap;
          overflow:hidden;
          text-overflow:ellipsis;
        }
        .box{
          display: flex;
          align-items: center;
          gap: 15rpx;
        }

      }
    }
  }

}
</style>
